using BikyBall.Game;
using BikyBall.Object;
using Microsoft.Xna.Framework.Graphics;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BikyBall.Graphic
{
    public enum Shader
    {
        NONE_SHADE,
        TOON_SHADE
    }
    public class GraphicProperty : Property
    {
        public Texture2D Texture { get; set; }
        public BasicEffect Effect { get; set; }
        public VertexBuffer VertexBuffer { get; set; }
        public VertexPositionNormalTexture[] Vertices;
        public short[] Indices;
        public IndexBuffer IndexBuffer { get; set; }
        public int NumVertices { get; set; }
        public int NumIndices { get; set; }
        public int NumTriangles { get; set; }
        public PrimitiveType PrimitiveType { get; set; }
        public Model Model {get;set;}
        public Model ModelBlack { get; set; }
        public Shader Shader { get; set; }
        private GameProperty _gameProperty;

        public GraphicProperty()
            : base()
        {
            this.Dependencies.Add(typeof(GameProperty));
        }

        public override void PropInit(Property property)
        {
            this._gameProperty = (GameProperty)property;
        }
    }

    /*public partial class GameObject
    {
        public GraphicProperties GraphicProperties = new GraphicProperties(); 
    }*/
}
